<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script type="text/javascript">
        // function fun(n,o){
        //     console.log(n,o);//0 undefined
        //     return{
        //         fun: function (m) {
        //              return fun(m,n)//1 0
        //         },
        //     };
        // }
        // const a = fun(0);//0 undefined
        // a.fun(1);//1,0
        // a.fun(2);//2,0
        // a.fun(3);//3,0
        // function fun(n,o){
        //    // console.log(n);//0 1 2 3
        //     console.log(o);//u 0 1 2
        //     return{
        //         fun: function (m) {
        //              return fun(m,n) //1,1
        //         },
        //     };
        // }
        // var a = fun(0)//undefind;
        // a.fun(1)//0
        // ;a.fun(2)//0
        // ;a.fun(3);//0
        //  0 undefined  1 0    2 1    3 2
        //  var b = fun(0).fun(1).fun(2).fun(3);//un 0 1 2 
        //  var c = fun(0).fun(1);//un 0
        //  c.fun(2);//1
        //  c.fun(3);//2
        // function fn(a){
        //     this.a = a
        // }
        // var obj={}
        // var getNum = fn.bind(obj);
        // getNum(2);
        // console.log(obj.a);//2
        // 使用递归求到20的斐波那契数列之和
        //斐波那契数从第三位开始的数是前面两个数之和
        function p(n) {
        if(n > 0){
            if(n == 1 || n ==2){
                return 1;
            }
                return p(n-1)+p(n-2);
        }
        }
        function sum(n){
            if(n == 0){
                return 0;
            }
            if(n >= 1){
                return p(n) + sum(n-1);
            }
        }
        console.log(sum(20));
        </script>
</body>
</html>